package za.co.dylanjaneke.airdownloader.controller
{
	import mx.controls.Alert;
	
	import org.granite.tide.ITideModule;
	import org.granite.tide.Tide;
	
	import za.co.dylanjaneke.airdownloader.command.CheckForUpdateCommand;
	import za.co.dylanjaneke.airdownloader.command.ClearDownloadQueueCommand;
	import za.co.dylanjaneke.airdownloader.command.CopyAllLinksCommand;
	import za.co.dylanjaneke.airdownloader.command.DeleteDownloadSiteCommand;
	import za.co.dylanjaneke.airdownloader.command.DownloadAllLinksCommand;
	import za.co.dylanjaneke.airdownloader.command.LoadSettingsCommand;
	import za.co.dylanjaneke.airdownloader.command.LoadShowsSequenceCommand;
	import za.co.dylanjaneke.airdownloader.command.LoadTrackedShowsCommand;
	import za.co.dylanjaneke.airdownloader.command.LoginCommand;
	import za.co.dylanjaneke.airdownloader.command.LogoutCommand;
	import za.co.dylanjaneke.airdownloader.command.NewDownloadSiteCommand;
	import za.co.dylanjaneke.airdownloader.command.SaveSettingsCommand;
	import za.co.dylanjaneke.airdownloader.command.ShowDayCommand;
	import za.co.dylanjaneke.airdownloader.command.ShowDownloadQueueCommand;
	import za.co.dylanjaneke.airdownloader.command.ShowHomeCommand;
	import za.co.dylanjaneke.airdownloader.command.ShowSettingsCommand;
	import za.co.dylanjaneke.airdownloader.command.ShowWeekCommand;

	/**
	 * Author: Dylan Janeke.
	 */
	public class CommandModule implements ITideModule
	{	
		public function init(tide:Tide):void
		{	
			tide.addComponent("loadSettingsCommand", LoadSettingsCommand);
			tide.addComponent("saveSettingsCommand", SaveSettingsCommand);
			tide.addComponent("showSettingsCommand", ShowSettingsCommand);
			tide.addComponent("showHomeCommand", ShowHomeCommand);
			tide.addComponent("loadTrackedShowsCommand", LoadTrackedShowsCommand);
			tide.addComponent("showDayCommand", ShowDayCommand);
			tide.addComponent("showWeekCommand", ShowWeekCommand);
			tide.addComponent("copyAllLinksCommand", CopyAllLinksCommand);
			tide.addComponent("newDownloadSiteCommand", NewDownloadSiteCommand);
			tide.addComponent("deleteDownloadSiteCommand", DeleteDownloadSiteCommand);
			tide.addComponent("showDownloadQueueCommand", ShowDownloadQueueCommand);
			tide.addComponent("downloadAllLinksCommand", DownloadAllLinksCommand);
			tide.addComponent("clearDownloadQueueCommand", ClearDownloadQueueCommand);
			tide.addComponent("loadShowsSequenceCommand", LoadShowsSequenceCommand);
			tide.addComponent("loginCommand", LoginCommand);
			tide.addComponent("logoutCommand", LogoutCommand);
			tide.addComponent("checkForUpdateCommand", CheckForUpdateCommand);
		}
	}
}